package com.funsport.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 场地预订实体类
 */
@Data
@TableName("venue_bookings")
public class VenueBooking {
    
    @TableId(type = IdType.AUTO)
    private Long id;
    
    /**
     * 场地ID
     */
    private Long venueId;
    
    /**
     * 预订用户ID
     */
    private Long userId;
    
    /**
     * 关联活动ID（可选）
     */
    private Long eventId;
    
    /**
     * 预订开始时间
     */
    private LocalDateTime startTime;
    
    /**
     * 预订结束时间
     */
    private LocalDateTime endTime;
    
    /**
     * 预订价格
     */
    private BigDecimal price;
    
    /**
     * 预订状态：pending-待确认, confirmed-已确认, cancelled-已取消, completed-已完成
     */
    private String status;
    
    /**
     * 支付状态：unpaid-未支付, paid-已支付, refunded-已退款
     */
    private String paymentStatus;
    
    /**
     * 联系人姓名
     */
    private String contactName;
    
    /**
     * 联系人电话
     */
    private String contactPhone;
    
    /**
     * 备注信息
     */
    private String notes;
    
    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createdAt;
    
    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updatedAt;
    
    /**
     * 确认时间
     */
    private LocalDateTime confirmedAt;
    
    /**
     * 取消时间
     */
    private LocalDateTime cancelledAt;
}

